package almacenes.modelo.entidad;
// Generated 16/02/2012 04:45:02 PM by Hibernate Tools 3.4.0.CR1


import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * Agrupamiento generated by hbm2java
 */
@Entity
@Table(name="AGRUPAMIENTO"
    , uniqueConstraints = {@UniqueConstraint(columnNames={"ID_TIPO_AGRUPAMIENTO", "ID_DEPARTAMENTOXPROVEEDOR"}), @UniqueConstraint(columnNames="COD_AGRUPAMIENTO_BBVA")} 
)
public class Agrupamiento  implements java.io.Serializable {

	 private static final long serialVersionUID = 1L;
	 private int idAgrupamiento;
     private Departamentoxproveedor departamentoxproveedor;
     private Agrupamiento agrupamiento;
     private TipoAgrupamiento tipoAgrupamiento;
     private String codAgrupamientoBbva;
     private String descripcion;
     private Boolean flgDependeCamp;
     private String codCuentaGps;
     private String descCuentaGps;
     private String codOrdenInterna;
     private String codCentroCosto;
     private String descCentroCosto;
     private int idEstadoMae;
     private Boolean flgNoEliminar;
     private String usuReg;
     private Date fecReg;
     private String usuAct;
     private Date fecAct;
     private List<Stockprodagrup> stockprodagrups = new ArrayList<Stockprodagrup>();
     private List<Agrupamiento> agrupamientos = new ArrayList<Agrupamiento>();
     private List<Solicitud> solicituds = new ArrayList<Solicitud>();

    public Agrupamiento() {
    }

	
    public Agrupamiento(int idAgrupamiento, Departamentoxproveedor departamentoxproveedor, TipoAgrupamiento tipoAgrupamiento, int idEstadoMae) {
        this.idAgrupamiento = idAgrupamiento;
        this.departamentoxproveedor = departamentoxproveedor;
        this.tipoAgrupamiento = tipoAgrupamiento;
        this.idEstadoMae = idEstadoMae;
    }
    public Agrupamiento(int idAgrupamiento, Departamentoxproveedor departamentoxproveedor, Agrupamiento agrupamiento, TipoAgrupamiento tipoAgrupamiento, String codAgrupamientoBbva, String descripcion, Boolean flgDependeCamp, String codCuentaGps, String descCuentaGps, String codOrdenInterna, String codCentroCosto, String descCentroCosto, int idEstadoMae, Boolean flgNoEliminar, String usuReg, Date fecReg, String usuAct, Date fecAct, List<Stockprodagrup> stockprodagrups, List<Agrupamiento> agrupamientos, List<Solicitud> solicituds) {
       this.idAgrupamiento = idAgrupamiento;
       this.departamentoxproveedor = departamentoxproveedor;
       this.agrupamiento = agrupamiento;
       this.tipoAgrupamiento = tipoAgrupamiento;
       this.codAgrupamientoBbva = codAgrupamientoBbva;
       this.descripcion = descripcion;
       this.flgDependeCamp = flgDependeCamp;
       this.codCuentaGps = codCuentaGps;
       this.descCuentaGps = descCuentaGps;
       this.codOrdenInterna = codOrdenInterna;
       this.codCentroCosto = codCentroCosto;
       this.descCentroCosto = descCentroCosto;
       this.idEstadoMae = idEstadoMae;
       this.flgNoEliminar = flgNoEliminar;
       this.usuReg = usuReg;
       this.fecReg = fecReg;
       this.usuAct = usuAct;
       this.fecAct = fecAct;
       this.stockprodagrups = stockprodagrups;
       this.agrupamientos = agrupamientos;
       this.solicituds = solicituds;
    }
   
     @Id 

    
    @Column(name="ID_AGRUPAMIENTO", unique=true, nullable=false, precision=8, scale=0)
    public int getIdAgrupamiento() {
        return this.idAgrupamiento;
    }
    
    public void setIdAgrupamiento(int idAgrupamiento) {
        this.idAgrupamiento = idAgrupamiento;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_DEPARTAMENTOXPROVEEDOR", nullable=false)
    public Departamentoxproveedor getDepartamentoxproveedor() {
        return this.departamentoxproveedor;
    }
    
    public void setDepartamentoxproveedor(Departamentoxproveedor departamentoxproveedor) {
        this.departamentoxproveedor = departamentoxproveedor;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_AGRUPAMIENTO_PADRE")
    public Agrupamiento getAgrupamiento() {
        return this.agrupamiento;
    }
    
    public void setAgrupamiento(Agrupamiento agrupamiento) {
        this.agrupamiento = agrupamiento;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="ID_TIPO_AGRUPAMIENTO", nullable=false)
    public TipoAgrupamiento getTipoAgrupamiento() {
        return this.tipoAgrupamiento;
    }
    
    public void setTipoAgrupamiento(TipoAgrupamiento tipoAgrupamiento) {
        this.tipoAgrupamiento = tipoAgrupamiento;
    }

    
    @Column(name="COD_AGRUPAMIENTO_BBVA", unique=true, length=8)
    public String getCodAgrupamientoBbva() {
        return this.codAgrupamientoBbva;
    }
    
    public void setCodAgrupamientoBbva(String codAgrupamientoBbva) {
        this.codAgrupamientoBbva = codAgrupamientoBbva;
    }

    
    @Column(name="DESCRIPCION", length=60)
    public String getDescripcion() {
        return this.descripcion;
    }
    
    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    
    @Column(name="FLG_DEPENDE_CAMP", precision=1, scale=0)
    public Boolean getFlgDependeCamp() {
        return this.flgDependeCamp;
    }
    
    public void setFlgDependeCamp(Boolean flgDependeCamp) {
        this.flgDependeCamp = flgDependeCamp;
    }

    
    @Column(name="COD_CUENTA_GPS", length=15)
    public String getCodCuentaGps() {
        return this.codCuentaGps;
    }
    
    public void setCodCuentaGps(String codCuentaGps) {
        this.codCuentaGps = codCuentaGps;
    }

    
    @Column(name="DESC_CUENTA_GPS", length=200)
    public String getDescCuentaGps() {
        return this.descCuentaGps;
    }
    
    public void setDescCuentaGps(String descCuentaGps) {
        this.descCuentaGps = descCuentaGps;
    }

    
    @Column(name="COD_ORDEN_INTERNA", length=12)
    public String getCodOrdenInterna() {
        return this.codOrdenInterna;
    }
    
    public void setCodOrdenInterna(String codOrdenInterna) {
        this.codOrdenInterna = codOrdenInterna;
    }

    
    @Column(name="COD_CENTRO_COSTO", length=10)
    public String getCodCentroCosto() {
        return this.codCentroCosto;
    }
    
    public void setCodCentroCosto(String codCentroCosto) {
        this.codCentroCosto = codCentroCosto;
    }

    
    @Column(name="DESC_CENTRO_COSTO", length=200)
    public String getDescCentroCosto() {
        return this.descCentroCosto;
    }
    
    public void setDescCentroCosto(String descCentroCosto) {
        this.descCentroCosto = descCentroCosto;
    }

    
    @Column(name="ID_ESTADO_MAE", nullable=false, precision=2, scale=0)
    public int getIdEstadoMae() {
        return this.idEstadoMae;
    }
    
    public void setIdEstadoMae(int idEstadoMae) {
        this.idEstadoMae = idEstadoMae;
    }

    
    @Column(name="FLG_NO_ELIMINAR", precision=1, scale=0)
    public Boolean getFlgNoEliminar() {
        return this.flgNoEliminar;
    }
    
    public void setFlgNoEliminar(Boolean flgNoEliminar) {
        this.flgNoEliminar = flgNoEliminar;
    }

    
    @Column(name="USU_REG", length=10)
    public String getUsuReg() {
        return this.usuReg;
    }
    
    public void setUsuReg(String usuReg) {
        this.usuReg = usuReg;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="FEC_REG", length=7)
    public Date getFecReg() {
        return this.fecReg;
    }
    
    public void setFecReg(Date fecReg) {
        this.fecReg = fecReg;
    }

    
    @Column(name="USU_ACT", length=10)
    public String getUsuAct() {
        return this.usuAct;
    }
    
    public void setUsuAct(String usuAct) {
        this.usuAct = usuAct;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="FEC_ACT", length=7)
    public Date getFecAct() {
        return this.fecAct;
    }
    
    public void setFecAct(Date fecAct) {
        this.fecAct = fecAct;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="agrupamiento")
    public List<Stockprodagrup> getStockprodagrups() {
        return this.stockprodagrups;
    }
    
    public void setStockprodagrups(List<Stockprodagrup> stockprodagrups) {
        this.stockprodagrups = stockprodagrups;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="agrupamiento")
    public List<Agrupamiento> getAgrupamientos() {
        return this.agrupamientos;
    }
    
    public void setAgrupamientos(List<Agrupamiento> agrupamientos) {
        this.agrupamientos = agrupamientos;
    }

@OneToMany(fetch=FetchType.LAZY, mappedBy="agrupamiento")
    public List<Solicitud> getSolicituds() {
        return this.solicituds;
    }
    
    public void setSolicituds(List<Solicitud> solicituds) {
        this.solicituds = solicituds;
    }




}


